EXPRESIONES
ENLAZADAS

“En el nivel fundamental las cosas no tienen propiedades intrínsecas; todas las propiedades son relaciones entre cosas” (Leo Smolin)



Expresiones Enlazadas Simples

Definición

Dos expresiones, x e y, están simplemente enlazadas desde x hacia y cuando:
  1. Existe una relación de dependencia entre ellas tal que y (total o parcialmente) es función de x (también total o parcialmente).

  2. La relación es permanente, es decir, en todo momento si cambia x, automáticamente cambia y.
Esta relación funcional se define mediante una expresión genérica:
Ejemplos
  1. Enlazamiento específico de x hacia y. La relación se define mediante una expresión genérica independiente.

    ⟨( (y\2)° = (x\1 + x\2) )⟩
    (el componente 2 de y es siempre la suma de los dos primeros componentes de x)

    ⟨( (y\4 = (x\3 + x\4) )⟩
    (el componente 4 de y es siempre la suma de los componentes 3 y 4 de x)

    (y = (a b c d e))
    (x = (1 2 3 4))
    y // ev. (a 3 c 7 e)

    (x = (2 3 4 5))

    (nuevo valor de x)
    y // ev. (a 5 c 9 e)
    (y cambia automáticamente)

  2. Enlazamiento específico directo desde x hacia y. La relación se especifica en la expresión de destino.

    (y = (1 2 3))
    (x = (a ⟨y\2⟩ b)) // ev. x=(a 2 b)

    (y = (4 5 6))

    (nuevo valor de y)
    x // ev. (a 5 b)
    (x cambia automáticamente)

  3. Enlazamiento genérico: en todas las secuencias de longitud mayor que 1, el primer componente debe ser siempre el primer elemento de u.

    (u = (a b c d))
    ⟨( (x# > 1) → (x\1 = u\1) )⟩ // relación genérica

    (v = (7 2 3 4)) // ev. (v = (a 2 3 4))
    (w = (8 5 6 9)) // ev. (w = (a 5 6 9))

    (u = (d c b a)) // se redefine u
    v // ev. (d 2 3 4)
    w // ev. (d 5 6 9)


  4. Enlazamiento local mediante una función previamente definida.

    Calcula el valor mínimo entre n1 y n2
    ⟨( (minimo(n1 n2) = (n1 ← n1≤n2) →' n2) )⟩

    (u = (3 7 ⟨ minimo(u\1 u\2) ⟩)) // ev. (u = (3 7 3))

    (u\1 = 9) // cambiamos el primer elemento
    u // ev. (9 7 7)

Expresiones Entrelazadas

Definición

Dos expresiones entrelazadas, x e y, son expresiones enlazadas mutuamente. Es decir, existen relaciones de dependencia desde x hacia y, y viceversa. Por lo tanto, el contenido de una expresión es función de la otra y viceversa, y cualquier cambio en una de ellas afecta de forma inmediata a la otra. El entrelazamiento puede ser parcial o total, según la amplitud de las expresiones afectadas.


Ejemplo

Entrelazamiento específico entre x e y.

(x = (1 2 3 4))
(y = (a b c d))

⟨( x\1 = (y\1 + y\2) )⟩

(relación de y hacia x)

⟨( y\3 = (x\2 + x3) )⟩
(relación de x hacia y)

x // ev. (a+b 2 3 4)
y // ev. (a b 5 d)



Expresiones Autoenlazadas

Definición

Una expresión autoenlazada es una expresión enlazada consigo misma.


Ejemplos
  1. Autoenlazamiento específico de x:

    ⟨( x\3 = (x\1 + x\2) )⟩
    (el componente 3 de x es siempre la suma de los dos primeros)

    (x = (10 11 12 13)) // ev. (x = (10 11 21 13))

    (x\2 = 0) // cambiamos el segundo elemento
    x // ev. (10 0 10 13)


  2. Autoenlazamiento genérico: en todas las secuencias de longitud mayor que 2, el tercer componente debe ser siempre la suma de los dos primeros.

    ⟨( (x# > 2) → (x\3 = (x\1 + x\2)) )⟩

    (u = (10 11 12 13)) // ev. (u = (10 11 21 13))

    (v = (a b c)) // ev. (v = (a b a+b))

    (v = ( abc )) // ev. (v = ( abc ) (la secuencia es de longitud 1)

Expresiones Enlazadas de Orden Superior

Definición

Son aquellas en las que el enlace se realiza a expresiones ya enlazadas.

En general, podemos tener una red de relaciones funcionales en forma de expresiones enlazadas, simples, entrelazadas, autoenlazadas o autoentrelazadas. Y utilizando o combinando expresiones genéricas y específicas.


Ejemplos
  1. ⟨( x\1 = (u\1 + v\1) )⟩
    ⟨( x\2 = (u\2 + v\2) )⟩
    ⟨( y\1 = x\2 )⟩
    ⟨( y\2 = x\1 )⟩
    (u = (1 2 3 4))
    (v = (11 12 13 14))
    x // ev. (12 14)
    y // ev. (14 12)


  2. ⟨( v\1 = u\1 )⟩
    ⟨( u\2 = (v\1 + 1) )⟩
    ⟨( v\2 = (u\2)2 )⟩
    ⟨( u\3 = (v\2 + 1) )⟩
    ⟨( v\3 = (u\3)*2 )⟩
    ⟨( u\4 = (v\3 + 1) )⟩
    ⟨( v\4 = (u\4)*2 )⟩
    (u = 1)
    u // ev. (1 2 5 11)
    v // ev. (1 4 10 22)


  3. La secuencia de Fibonacci (1, 1, 2, 3, 5, 8, 13, …) es un ejemplo de expresión autoenlazada de nivel superior, pues cada elemento de la secuencia se deduce sucesivamente de los dos anteriores.

    ( fibo = (1 1) ) // secuencia de Fibonacci inicial
    ⟨ ((fibo\i) =: (fibo\(i−1) + fibo\(i−2)))←(i>2) ⟩


    Al definir la función como sustitución potencial, tenemos la secuencia de Fibonacci potencial:
    (1 1 2 3 5 8 ...).

    También podríamos haberla definido con sustitución actual, pero limitándola a una cierta longitud (número de elementos n):

    ( fibo = (1 1) ) // secuencia de Fibonacci inicial
    (n = 8) // 8 elementos
    ⟨ ((fibo\i) = (fibo\(i−1) + fibo\(i−2))) ← (i>2 ∧ i≤n) ⟩
    fibo // ev. (1 1 2 3 5 8 13 21)